#include "car.h"
#include <vector>

class Robber; // forward declaration

class Cop : public Car {
public:
	Cop(Position *_myPosition, Map* _map);
	
	virtual ~Cop();
	
	void takeTurn();
	
	void addRobber(Robber *robber);
	
	void addCops(std::vector<Cop*> cops);
	
	void robberWhereabouts(Position *robberPosition, Direction robberDirection);

       Position* traceRobber();
	
private:
	int catchRadius;
	int sightRadius;
	
	std::vector<Cop*> other_cops;
	Robber* robber;
	
	Position *lastKnownRobberPosition;
	Direction lastKnownRobberDirection;
	
	Position *myInitialPosition;
	
	bool goToCenter;
};